Network-attached storage is file-level data storage connected to a computer network providing data access to heterogeneous network clients. A network client may access data stored on a network-attached storage device through both hardware and software applications, such that the network-attached storage device appears to be directly connected to the network client. A general-purpose computing device may contain software that enables it to serve the role of network attached storage.